 package tools.packet.effect;

 import configs.ServerConfig;
 import handling.opcode.EffectOpcode;
 import handling.opcode.SendPacketOpcode;
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
 import tools.data.output.MaplePacketLittleEndianWriter;

 public class LP_UserEffectLocal {
/*  11 */   private static final Logger log = LogManager.getLogger(LP_UserEffectLocal.class);




   public static byte[] LP_UserEffectLocal(EffectOpcode code, Object... effectdata) {
/*  17 */     if (ServerConfig.DEBUG_MODE) {
/*  18 */       log.info("调用"+Thread.currentThread().getStackTrace()[1].getMethodName());
     }
/*  20 */     MaplePacketLittleEndianWriter mplew = new MaplePacketLittleEndianWriter();
/*  21 */     mplew.writeShort(SendPacketOpcode.SHOW_SPECIAL_EFFECT.getValue()); try {
       int skillid, v1513, cunt, i, type, temp0x14, temp0x16, temp38;
/*  23 */       mplew.write(code.getValue());
/*  24 */       switch (code) {




         case BatteryON:
/*  30 */           mplew.writeMapleAsciiString(((String)effectdata[0]).toString());
/*  31 */           mplew.writeInt(((Integer)effectdata[1]).intValue());
/*  32 */           mplew.writeInt(((Integer)effectdata[2]).intValue());
/*  33 */           mplew.writeInt(((Integer)effectdata[3]).intValue());
/*  34 */           mplew.write(((Integer)effectdata[4]).intValue());
/*  35 */           mplew.writeInt(((Integer)effectdata[5]).intValue());
/*  36 */           mplew.writeInt(((Integer)effectdata[6]).intValue());
           break;

         case UserEffect_ReservedEffect:
/*  40 */           mplew.write(Byte.parseByte(effectdata[0].toString()));
/*  41 */           mplew.writeInt(Integer.parseInt(effectdata[1].toString()));
/*  42 */           mplew.writeInt(Integer.parseInt(effectdata[2].toString()));
/*  43 */           mplew.writeMapleAsciiString(effectdata[3].toString());
           break;
         case UserEffect_ReservedEffectRepeat:
/*  46 */           mplew.writeMapleAsciiString(((String)effectdata[0]).toString());
/*  47 */           mplew.write(((Integer)effectdata[1]).intValue());
/*  48 */           if (((Integer)effectdata[1]).intValue() == 1) {
/*  49 */             mplew.write(((Integer)effectdata[2]).intValue());
/*  50 */             if (((Integer)effectdata[2]).intValue() == 1) {
/*  51 */               mplew.write(((Integer)effectdata[3]).intValue());
/*  52 */               mplew.writeInt(((Integer)effectdata[4]).intValue());
/*  53 */               mplew.writeInt(((Integer)effectdata[5]).intValue());
             }
             break;
           }
/*  57 */           mplew.writeInt(((Integer)effectdata[2]).intValue());
/*  58 */           mplew.writeInt(((Integer)effectdata[3]).intValue());
/*  59 */           mplew.writeInt(((Integer)effectdata[4]).intValue());
           break;


         case UserEffect_AvatarOriented:
/*  64 */           mplew.writeMapleAsciiString(((String)effectdata[0]).toString());
           break;
         case UserEffect_AvatarOrientedRepeat:
/*  67 */           mplew.write(((Integer)effectdata[0]).intValue());
/*  68 */           if (((Integer)effectdata[0]).intValue() == 1) {
/*  69 */             mplew.writeMapleAsciiString(((String)effectdata[1]).toString());
/*  70 */             mplew.writeInt(((Integer)effectdata[2]).intValue());
/*  71 */             mplew.writeInt(((Integer)effectdata[3]).intValue());
           }
           break;

         case UserEffect_AvatarOrientedMultipleRepeat:
/*  76 */           mplew.writeMapleAsciiString(((String)effectdata[0]).toString());
/*  77 */           mplew.writeInt(((Integer)effectdata[1]).intValue());
/*  78 */           mplew.writeInt(((Integer)effectdata[2]).intValue());
           break;
         case UserEffect_PlaySoundWithMuteBGM:
/*  81 */           mplew.writeMapleAsciiString(((String)effectdata[0]).toString());
           break;
         case UserEffect_PlayExclSoundWithDownBGM:
/*  84 */           mplew.writeMapleAsciiString(((String)effectdata[0]).toString());
/*  85 */           mplew.writeInt(((Integer)effectdata[1]).intValue());
           break;
         case UserEffect_FadeInOut:
/*  88 */           mplew.writeInt(((Integer)effectdata[0]).intValue());
/*  89 */           mplew.writeInt(((Integer)effectdata[1]).intValue());
/*  90 */           mplew.writeInt(((Integer)effectdata[2]).intValue());
/*  91 */           mplew.write(((Integer)effectdata[3]).intValue());
           break;
         case UserEffect_AswanSiegeAttack:
/*  94 */           mplew.write(((Integer)effectdata[0]).intValue());
           break;
         case UserEffect_SpeechBalloon:
/*  97 */           mplew.write(((Integer)effectdata[0]).intValue());
/*  98 */           mplew.writeInt(((Integer)effectdata[1]).intValue());
/*  99 */           mplew.writeInt(((Integer)effectdata[2]).intValue());
/* 100 */           mplew.writeMapleAsciiString(((String)effectdata[3]).toString());
/* 101 */           mplew.writeInt(((Integer)effectdata[4]).intValue());
/* 102 */           mplew.writeInt(((Integer)effectdata[5]).intValue());
/* 103 */           mplew.writeInt(((Integer)effectdata[6]).intValue());
/* 104 */           mplew.writeInt(((Integer)effectdata[7]).intValue());
/* 105 */           mplew.writeInt(((Integer)effectdata[8]).intValue());
/* 106 */           mplew.writeInt(((Integer)effectdata[9]).intValue());

/* 108 */           mplew.writeInt(((Integer)effectdata[10]).intValue());
/* 109 */           mplew.writeInt(((Integer)effectdata[11]).intValue());
/* 110 */           mplew.writeInt(((Integer)effectdata[12]).intValue());
           break;

         case UserEffect_Aiming:
/* 114 */           mplew.writeInt(((Integer)effectdata[0]).intValue());
/* 115 */           mplew.writeInt(((Integer)effectdata[1]).intValue());
/* 116 */           mplew.writeInt(((Integer)effectdata[2]).intValue());
/* 117 */           mplew.writeInt(((Integer)effectdata[3]).intValue());
/* 118 */           mplew.writeInt(((Integer)effectdata[4]).intValue());
/* 119 */           mplew.writeInt(((Integer)effectdata[5]).intValue());
           break;

         case UserEffect_UNK0x40:
/* 123 */           mplew.writeInt(((Integer)effectdata[0]).intValue());
/* 124 */           mplew.writeShort(((Integer)effectdata[1]).intValue());
/* 125 */           mplew.writeShort(((Integer)effectdata[2]).intValue());
/* 126 */           mplew.writeShort(((Integer)effectdata[3]).intValue());
/* 127 */           mplew.writeShort(((Integer)effectdata[4]).intValue());
           break;















         case UserEffect_TextEffect:
/* 145 */           mplew.writeMapleAsciiString(((String)effectdata[0]).toString());
/* 146 */           mplew.writeInt(((Integer)effectdata[1]).intValue());
/* 147 */           mplew.writeInt(((Integer)effectdata[2]).intValue());

/* 149 */           mplew.writeInt(((Integer)effectdata[3]).intValue());
/* 150 */           mplew.writeInt(((Integer)effectdata[4]).intValue());
/* 151 */           mplew.writeInt(((Integer)effectdata[5]).intValue());
/* 152 */           mplew.writeInt(((Integer)effectdata[6]).intValue());
/* 153 */           mplew.writeInt(((Integer)effectdata[7]).intValue());
/* 154 */           mplew.writeInt(((Integer)effectdata[8]).intValue());
/* 155 */           mplew.writeInt(((Integer)effectdata[9]).intValue());
/* 156 */           mplew.writeInt(((Integer)effectdata[10]).intValue());
/* 157 */           mplew.writeMapleAsciiString(((String)effectdata[11]).toString());
/* 158 */           mplew.writeInt(((Integer)effectdata[12]).intValue());
/* 159 */           mplew.write(((Integer)effectdata[13]).intValue());
           break;

         case UserEffect_PickUpItem:
/* 163 */           mplew.write(((Integer)effectdata[0]).intValue());
           break;
       }











/* 177 */       switch (code) {






         case UserEffect_0x48:
/* 185 */           skillid = ((Integer)effectdata[0]).intValue();
/* 186 */           mplew.writeInt(skillid);
           break;

         case UserEffect_SkillUse:
         case UserEffect_SkillUseBySummoned:
/* 191 */           if (code == EffectOpcode.UserEffect_SkillUseBySummoned) {
/* 192 */             mplew.writeInt(((Integer)effectdata[0]).intValue());
           }
/* 194 */           mplew.writeInt(((Integer)effectdata[1]).intValue());
/* 195 */           mplew.writeInt(((Integer)effectdata[2]).intValue());
/* 196 */           mplew.writeInt(((Integer)effectdata[3]).intValue());
           break;

         case UserEffect_SkillUseBy_unk0x3:
/* 200 */           mplew.writeInt(((Integer)effectdata[0]).intValue());
/* 201 */           if (((Integer)effectdata[0]).intValue() >= 1) {
/* 202 */             mplew.writeInt(((Integer)effectdata[1]).intValue());
           }
/* 204 */           mplew.writeInt(((Integer)effectdata[2]).intValue());
           break;
         case UserEffect_SkillAffected:
/* 207 */           skillid = ((Integer)effectdata[0]).intValue();
/* 208 */           mplew.writeInt(skillid);
/* 209 */           mplew.write(((Integer)effectdata[1]).intValue());
/* 210 */           if (skillid == 31111003) {
/* 211 */             mplew.writeInt(((Integer)effectdata[2]).intValue());
           }
/* 213 */           if (skillid == 25121006) {
/* 214 */             mplew.writeInt(((Integer)effectdata[2]).intValue());
           }
           break;

         case UserEffect_SkillAffected_Ex:
/* 219 */           skillid = ((Integer)effectdata[0]).intValue();
/* 220 */           mplew.writeInt(skillid);
/* 221 */           mplew.write(((Integer)effectdata[1]).intValue());
/* 222 */           mplew.writeInt(((Integer)effectdata[2]).intValue());
/* 223 */           mplew.writeInt(((Integer)effectdata[3]).intValue());
           break;

         case UserEffect_Unk0x57:
/* 227 */           skillid = ((Integer)effectdata[0]).intValue();
/* 228 */           mplew.writeInt(skillid);
/* 229 */           mplew.writeInt(((Integer)effectdata[1]).intValue());
/* 230 */           mplew.write(((Integer)effectdata[2]).intValue());
           break;
         case UserEffect_SkillSpecialAffected:
/* 233 */           skillid = ((Integer)effectdata[0]).intValue();
/* 234 */           mplew.writeInt(skillid);
/* 235 */           mplew.write(((Integer)effectdata[1]).intValue());
           break;
         case UserEffect_SkillAffected_Select:
/* 238 */           skillid = ((Integer)effectdata[0]).intValue();
/* 239 */           mplew.writeInt(skillid);
/* 240 */           mplew.writeInt(((Integer)effectdata[1]).intValue());
/* 241 */           mplew.writeInt(((Integer)effectdata[2]).intValue());
/* 242 */           mplew.write(((Integer)effectdata[3]).intValue());
/* 243 */           mplew.write(((Integer)effectdata[4]).intValue());
           break;
         case UserEffect_SkillSpecial:
/* 246 */           skillid = ((Integer)effectdata[0]).intValue();
/* 247 */           mplew.writeInt(skillid);

/* 249 */           switch (skillid) {
             case 11121013:
             case 12100029:
             case 13121009:
             case 36110005:
             case 65101006:
/* 255 */               mplew.writeInt(((Integer)effectdata[1]).intValue());
/* 256 */               mplew.writeInt(((Integer)effectdata[2]).intValue());
/* 257 */               mplew.writeInt(((Integer)effectdata[3]).intValue());
               break;
             case 32111016:
/* 260 */               mplew.writeInt(((Integer)effectdata[1]).intValue());
/* 261 */               mplew.write(((Integer)effectdata[2]).intValue());
/* 262 */               mplew.writeInt(((Integer)effectdata[3]).intValue());
/* 263 */               mplew.writeInt(((Integer)effectdata[4]).intValue());
/* 264 */               mplew.writeInt(((Integer)effectdata[5]).intValue());
/* 265 */               mplew.writeInt(((Integer)effectdata[6]).intValue());
               break;
             case 80000257:
             case 80000260:
             case 80002206:
             case 80002599:
             case 80002725:
             case 80002734:
             case 80002747:
             case 80002801:
             case 80002813:
             case 80002838:
             case 80011787:
/* 278 */               mplew.writeInt(((Integer)effectdata[1]).intValue());
/* 279 */               mplew.writeInt(((Integer)effectdata[2]).intValue());
/* 280 */               mplew.writeInt(((Integer)effectdata[3]).intValue());
               break;
             case 80002753:
/* 283 */               v1513 = ((Integer)effectdata[1]).intValue();
/* 284 */               mplew.writeInt(v1513);
/* 285 */               mplew.writeInt(((Integer)effectdata[2]).intValue());

/* 287 */               if (v1513 == 2) {
/* 288 */                 mplew.writeInt(((Integer)effectdata[3]).intValue());
/* 289 */                 mplew.write(((Integer)effectdata[4]).intValue());
                 break;
               }
/* 292 */               mplew.writeInt(((Integer)effectdata[3]).intValue());
/* 293 */               mplew.writeInt(((Integer)effectdata[4]).intValue());
               break;
           }

           break;

         case UserEffect_SkillPreLoopEnd:
/* 300 */           skillid = ((Integer)effectdata[0]).intValue();
/* 301 */           mplew.writeInt(skillid);
/* 302 */           mplew.writeInt(((Integer)effectdata[1]).intValue());
           break;




         case UserEffect_Unk0x4B:
/* 309 */           skillid = ((Integer)effectdata[0]).intValue();
/* 310 */           mplew.writeInt(skillid);
           break;
         case UserEffect_Quest:
/* 313 */           cunt = ((Integer)effectdata[0]).intValue();
/* 314 */           mplew.write(cunt);
/* 315 */           for (i = 0; i <= cunt; i++) {
/* 316 */             mplew.writeInt(0);
/* 317 */             mplew.writeInt(0);
           }
/* 319 */           mplew.writeMapleAsciiString("");
/* 320 */           mplew.writeInt(0);
           break;
         case UserEffect_LotteryUIResult:
/* 323 */           mplew.write(((Integer)effectdata[0]).intValue());
/* 324 */           mplew.write(((Integer)effectdata[1]).intValue());
/* 325 */           mplew.writeInt(((Integer)effectdata[2]).intValue());
/* 326 */           mplew.writeInt(((Integer)effectdata[3]).intValue());
           break;

         case UserEffect_Pet:
/* 330 */           mplew.write(((Integer)effectdata[0]).intValue());
/* 331 */           mplew.writeInt(((Integer)effectdata[1]).intValue());
           break;
         case UserEffect_ProtectOnDieItemUse:
/* 334 */           type = ((Integer)effectdata[0]).intValue();
/* 335 */           mplew.writeInt(type);
/* 336 */           mplew.write(((Integer)effectdata[1]).intValue());
/* 337 */           mplew.write(((Integer)effectdata[2]).intValue());
/* 338 */           switch (type) {
             case 1:
             case 2:
             case 4:
               break;
           }


/* 346 */           mplew.writeInt(((Integer)effectdata[3]).intValue());
           break;



         case UserEffect_Unk0x50:
/* 352 */           mplew.writeInt(((Integer)effectdata[0]).intValue());
           break;
         case UserEffect_Unk0x52:
/* 355 */           mplew.writeInt(((Integer)effectdata[0]).intValue());
/* 356 */           mplew.writeInt(((Integer)effectdata[1]).intValue());
/* 357 */           mplew.write(((Integer)effectdata[2]).intValue());
           break;








         case UserEffect_ActQuestComplete:
/* 368 */           mplew.writeInt(((Integer)effectdata[0]).intValue());
           break;
         case UserEffect_IncDecHPEffect:
/* 371 */           mplew.write(((Integer)effectdata[0]).intValue());
           break;
         case UserEffect_IncDecHPEffect_EX:
/* 374 */           mplew.writeInt(((Integer)effectdata[0]).intValue());
/* 375 */           mplew.write(((Integer)effectdata[1]).intValue());
/* 376 */           mplew.write(((Integer)effectdata[2]).intValue());
           break;
         case UserEffect_BattlePvP_IncDecHp:
/* 379 */           mplew.writeInt(((Integer)effectdata[0]).intValue());
/* 380 */           mplew.writeMapleAsciiString(((String)effectdata[1]).toString());
           break;

         case UserEffect_IncDecHPRegenEffect:
/* 384 */           mplew.writeInt(((Integer)effectdata[0]).intValue());
           break;
         case UserEffect_BuffItemEffect:
/* 387 */           mplew.writeInt(((Integer)effectdata[0]).intValue());
           break;
         case UserEffect_Unk0x51:
/* 390 */           mplew.writeInt(((Integer)effectdata[0]).intValue());
           break;
         case UserEffect_SquibEffect:
/* 393 */           mplew.writeMapleAsciiString(((String)effectdata[0]).toString());
           break;

         case UserEffect_LotteryUse:
/* 397 */           mplew.writeInt(((Integer)effectdata[0]).intValue());
/* 398 */           temp0x14 = ((Integer)effectdata[1]).intValue();
/* 399 */           mplew.write(temp0x14);
/* 400 */           if (temp0x14 > 0) {
/* 401 */             mplew.writeMapleAsciiString(((String)effectdata[2]).toString());
           }
           break;




         case UserEffect_ItemMaker:
/* 409 */           temp0x16 = ((Integer)effectdata[0]).intValue();
/* 410 */           mplew.writeInt(temp0x16);
           break;

         case UserEffect_ItemUnk0x17:
/* 414 */           mplew.writeInt(((Integer)effectdata[0]).intValue());
           break;
         case UserEffect_FieldExpItemConsumed:
/* 417 */           mplew.writeInt(((Integer)effectdata[0]).intValue());
           break;




         case UserEffect_UpgradeTombItemUse:
/* 424 */           mplew.write(((Integer)effectdata[0]).intValue());
           break;
         case UserEffect_BattlefieldItemUse:
/* 427 */           mplew.writeMapleAsciiString(((String)effectdata[0]).toString());
           break;
         case UserEffect_IncubatorUse:
/* 430 */           mplew.write(((Integer)effectdata[0]).intValue());
/* 431 */           mplew.writeMapleAsciiString(((String)effectdata[1]).toString());
           break;
         case UserEffect_EffectUOL:
/* 434 */           mplew.writeMapleAsciiString(((String)effectdata[0]).toString());
/* 435 */           mplew.write(((Integer)effectdata[1]).intValue());
/* 436 */           mplew.writeInt(((Integer)effectdata[2]).intValue());
/* 437 */           mplew.writeInt(((Integer)effectdata[3]).intValue());
/* 438 */           mplew.writeInt(((Integer)effectdata[4]).intValue());
           break;
         case UserEffect_EffectUNK0x27:
/* 441 */           mplew.writeInt(((Integer)effectdata[0]).intValue());
           break;
         case UserEffect_PvPChampion:
/* 444 */           mplew.writeInt(((Integer)effectdata[0]).intValue());
           break;


         case UserEffect_MobSkillHit:
/* 449 */           mplew.writeInt(((Integer)effectdata[0]).intValue());
/* 450 */           mplew.writeInt(((Integer)effectdata[1]).intValue());
           break;
         case UserEffect_EffectUNK0x2E:
/* 453 */           mplew.writeInt(((Integer)effectdata[0]).intValue());
/* 454 */           mplew.writeInt(((Integer)effectdata[1]).intValue());
           break;
         case UserEffect_BlindEffect:
/* 457 */           mplew.writeInt(((Integer)effectdata[0]).intValue());
/* 458 */           mplew.writeInt(((Integer)effectdata[1]).intValue());
           break;


         case UserEffect_JewelCraft:
/* 463 */           mplew.write(((Integer)effectdata[0]).intValue());
/* 464 */           mplew.writeInt(((Integer)effectdata[1]).intValue());
           break;




         case UserEffect_LeftMonsterNumber:
/* 471 */           mplew.writeInt(((Integer)effectdata[0]).intValue());
           break;
         case UserEffect_RobbinsBomb:
/* 474 */           temp38 = ((Integer)effectdata[0]).intValue();
/* 475 */           mplew.write(temp38);
/* 476 */           if (temp38 <= 0) {
/* 477 */             mplew.writeInt(((Integer)effectdata[1]).intValue());
/* 478 */             mplew.write(((Integer)effectdata[2]).intValue());
           }
           break;

         case UserEffect_SkillMode:
/* 483 */           mplew.writeInt(((Integer)effectdata[0]).intValue());
/* 484 */           mplew.writeInt(((Integer)effectdata[1]).intValue());
/* 485 */           mplew.writeInt(((Integer)effectdata[2]).intValue());
           break;
         case UserEffect_Point:
/* 488 */           mplew.writeInt(((Integer)effectdata[0]).intValue());
/* 489 */           mplew.writeInt(((Integer)effectdata[1]).intValue());
           break;
         case UserEffect_BiteAttack_Unk0x45:
/* 492 */           mplew.writeInt(((Integer)effectdata[0]).intValue());
/* 493 */           mplew.writeInt(((Integer)effectdata[1]).intValue());
           break;
         case HakuSkillEffect:
/* 496 */           mplew.writeShort(((Integer)effectdata[0]).intValue());
/* 497 */           mplew.writeInt(((Integer)effectdata[1]).intValue());
/* 498 */           mplew.write(((Integer)effectdata[2]).intValue());
/* 499 */           mplew.write(((Integer)effectdata[3]).intValue());
/* 500 */           mplew.write(((Integer)effectdata[4]).intValue());
           break;
         case UserEffect_BiteAttack_Unk0x46:
/* 503 */           mplew.write(((Integer)effectdata[0]).intValue());
           break;






         case BatteryOFF:
/* 512 */           mplew.writeMapleAsciiString(((String)effectdata[0]).toString());
           break;
         case UserEffect_Unk0x4E:
/* 515 */           mplew.writeInt(((Integer)effectdata[0]).intValue());
/* 516 */           mplew.writeInt(((Integer)effectdata[1]).intValue());
/* 517 */           mplew.writeInt(((Integer)effectdata[2]).intValue());
/* 518 */           mplew.writeInt(((Integer)effectdata[3]).intValue());
/* 519 */           mplew.writeInt(((Integer)effectdata[4]).intValue());
           break;

         case UserEffect_Unk0x4F:
/* 523 */           mplew.writeMapleAsciiString(((String)effectdata[0]).toString());
/* 524 */           mplew.writeInt(((Integer)effectdata[1]).intValue());
/* 525 */           mplew.writeInt(((Integer)effectdata[2]).intValue());
           break;

         case UserEffect_Unk0x55:
         case UserEffect_Unk0x56:
/* 530 */           mplew.writeInt(((Integer)effectdata[0]).intValue());
/* 531 */           mplew.writeInt(((Integer)effectdata[1]).intValue());
           break;

         case UserEffect_Unk0x58:
/* 535 */           mplew.writeInt(((Integer)effectdata[0]).intValue());
/* 536 */           mplew.writeInt(((Integer)effectdata[1]).intValue());
           break;





         case UserEffect_Unk0x59:
/* 544 */           mplew.write(((Integer)effectdata[0]).intValue());
           break;
       }




/* 551 */     } catch (NullPointerException e) {
/* 552 */       log.error("LP_UserEffectLocal 读取Map参数错误： cede= " + code.name());
     }


/* 556 */     return mplew.getPacket();
   }
 }


/* Location:              C:\PGX\Server.jar!\tools\packet\effect\LP_UserEffectLocal.class
 * Java compiler version: 8 (52.0)
 * JD-Core Version:       1.1.3
 */